package com.zds.demo.util;

/**
 * @version 1.0
 * description: 日志持久化接口
 */
public interface ILogPersistence {

    default void filterPersistenceLog(@LoggerUtil.LoggerLevel int logLevel, String tag, String msg) {
        filterPersistenceLog(logLevel, tag, msg, false);
    }

    /**
     * 判断需要进行日志持久化的信息并添加到缓冲stringBuilder中
     * 日志级别或者tag内容符合要求,即可持久化到日志文件
     *
     * @param logLevel   当前日志级别
     * @param tag        当前日志tag
     * @param msg        当前日志信息
     * @param keepFormat 是否保留msg原始格式
     */
    void filterPersistenceLog(@LoggerUtil.LoggerLevel int logLevel, String tag, String msg, boolean keepFormat);

    /**
     * 写入到文件
     */
    void flush();
}
